/**
 * Copyright &copy; 2021-2026
 */
package org.dylan.common.base.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.List;

/**
 * 树形结构 Entity 基类
 *
 * @author Dylan
 * @since 2024-10-24
 */
@Data
@EqualsAndHashCode(callSuper = false)
public abstract class TreeEntity<T> extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 父级编号
     */
    protected String parentId;

    /**
     * 所有父级编号
     */
    protected String parentIds;

    /**
     * 排序
     */
    protected Integer sort;

    /**
     * 子元素集合
     */
    @TableField(exist = false)
    protected List<T> children;
}
